package com.cskaoyan._02method._03methodcases;

import java.util.ArrayList;

/**
 * @author Macro_Ray
 * @since 2024/3/5 20:00
 */
// 判断 101-200 之间有多少个质数，并输出所有质数。
public class _01Test_02 {
    public static void main(String[] args) {
        isPrimeNumber(101, 200);
    }
    public static void isPrimeNumber(int from, int to) {
        int[] arr = new int[to - from +1]; // 记得+1
        int num = from;
        int count = 0;   // 计数变量
        // 把101-200存入数组
        for (int i = 0; i < arr.length; i++) {
            arr[i] = num;
            num++;
        }
        // 让每个数循环的与从2开始的数取余
        ArrayList<Integer> primeNumber = new ArrayList<>(); // 建立一个动态数组
        for (int j = 0; j < arr.length; j++) {
         boolean isIt = true;  // 判断是否是质数
            for (int k = 2; k < arr[j]; k++) {
                int number = arr[j] % k;
                if (number == 0) {
                    isIt = false;
                    break;
                }
            }
            if (isIt) {
                count++;
                primeNumber.add(arr[j]);  // 把质数存到这个动态数组
            }
        }
        System.out.println("一共有" + count + "个质数");
        System.out.print("质数为：" + primeNumber);
    }
}



/*public class _01Test_02 {
    public static void main(String[] args) {
        isPrimeNumber(101, 200);
    }

    public static void isPrimeNumber(int from, int to) {
        int[] arr = new int[to - from + 1];
        int num = from;
        int count = 0;   // 计数变量
        // 把101-200存到数组arr
        for (int i = 0; i < arr.length; i++) {
            arr[i] = num;
            num++;
        }
        ArrayList<Integer> primeNumber = new ArrayList<>();  // 创建一个动态数组
        for (int j = 0; j < arr.length; j++) {
            boolean isPrime = true;
            for (int k = 2; k < arr[j]; k++) {
                if (arr[j] % k == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) {
                primeNumber.add(arr[j]);
                count++;
            }
        }
        System.out.println("一共有" + count + "个质数");
        System.out.print("质数为：");
        for (int prime : primeNumber) {
            System.out.print(prime + " ");
        }
    }
}*/
